package Presentacion.Stock;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;

import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import Fisica.Cooperativa.ProcCoope;
import Logica.Cooperativa.Deposito;
import Logica.Cooperativa.Operador;
import Presentacion.Inicio.CFPrincipal;

public class CFStockUsuarioDeposito extends JFrame {
	private CFPrincipal p;
	
	private JPanel contentPane;
	private JTextField tfFecha;
	
	public JComboBox cbUsuarios;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					CFStockUsuarioDeposito frame = new CFStockUsuarioDeposito(new CFPrincipal());
//					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	   //CARGA LISTA DE USUARIOS
  public void initUsuario() throws SQLException{
	  this.setVisible(true);
      cbUsuarios.removeAllItems();
      List<Operador>list = null;
      
      list = ProcCoope.lisOperador();      
     
      cbUsuarios.addItem("");  
      for(int i = 0; i <list.size(); i++) {
          String a = list.get(i).getApellido().toString();
          cbUsuarios.addItem(a);
         }
      }
  
  public void fecha(){
	  tfFecha.setEditable(true);
	  tfFecha.setText(Logica.Util.getFechaActual());
	  tfFecha.setEditable(false);
	  
  }
  
//  //CARGA LISTA DE DEPOSITOS
// public void initDepositos() throws SQLException{
//	  this.setVisible(true);
//     cbDepositos.removeAllItems();
//     List<Deposito>list = null;
//     
//     list = ProcCoope.lisDeposito();      
//    
//     cbDepositos.addItem("");  
//     for(int i = 0; i <list.size(); i++) {
//         String a = list.get(i).getDescripcion().toString();
//         cbDepositos.addItem(a);
//        }
//     }
	
	/**
	 * Create the frame.
	 * @throws SQLException 
	 */
	public CFStockUsuarioDeposito(CFPrincipal p) throws SQLException {
		setTitle("Usuario");
		this.p = p;
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, CFPrincipal.ancho, CFPrincipal.alto);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblUsuario = new JLabel("Usuario");
		lblUsuario.setBounds(10, 37, 53, 14);
		contentPane.add(lblUsuario);
		
//		JComboBox 
		cbUsuarios = new JComboBox();		
		cbUsuarios.setToolTipText("Seleccione usuario");
		cbUsuarios.setBounds(10, 55, 141, 20);
		contentPane.add(cbUsuarios);
		
		JLabel lblDatosNecesariosPara = new JLabel("Datos Necesarios");
		lblDatosNecesariosPara.setFont(new Font("Tahoma", Font.BOLD, 12));
		lblDatosNecesariosPara.setBounds(17, 9, 197, 20);
		contentPane.add(lblDatosNecesariosPara);
		
		JSeparator separator1 = new JSeparator();
		separator1.setBounds(10, 28, 204, 2);
		contentPane.add(separator1);
		
		JLabel lblFecha = new JLabel("Fecha");
		lblFecha.setBounds(10, 131, 64, 14);
		contentPane.add(lblFecha);
		
		tfFecha = new JTextField();
		tfFecha.setEditable(false);
		tfFecha.setToolTipText("Fecha actual");
		tfFecha.setBounds(65, 128, 86, 20);
		contentPane.add(tfFecha);
		tfFecha.setColumns(10);
		
		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//limpiar y volver.
				cancelar();
			}
		});
		btnCancelar.setBounds(44, 193, 89, 23);
		contentPane.add(btnCancelar);
		
		JButton btnSiguiente = new JButton("Siguiente");
		btnSiguiente.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//validar lo ingresado y siguiente.
				siguiente();
			}
		});
		btnSiguiente.setBounds(44, 159, 89, 23);
		contentPane.add(btnSiguiente);
		
		//cargo los ComboBox
		
		initUsuario();
//		initDepositos();
		fecha();
		
	}
	
	
	public void cerrar(){
		new CFPrincipal();
		this.dispose();
	}

	public void siguiente(){
		String usuario, codUsuario, deposito;
		int iDepo;
		if (cbUsuarios.getSelectedIndex() != 0){
			usuario = cbUsuarios.getSelectedItem().toString();
			usuario = ProcCoope.getOperador(usuario).getCodigo();
//			iDepo = cbDepositos.getSelectedIndex() - 1;
//			deposito = Integer.toString(iDepo);
			Date fecha = Logica.Util.getDate(tfFecha.getText());
			p.stockUsuarioDeposito(usuario, fecha);
			new CFStockCargaArticulos(this);
		}else{
			JOptionPane.showMessageDialog(null, "Seleccione usuario y deposito");
		}		
	}
	
	public void cancelar(){
		cbUsuarios.setSelectedIndex(0);
//		cbDepositos.setSelectedIndex(0);
		p.borraStockUsuarioDeposito();
		this.dispose();
	}
	
	public CFPrincipal getP(){
		return p;
	}
    
}
